package com.itlong.cloud.padbot.dao;

import com.itlong.cloud.POJO.PO.PadBotRobotMapInfoPO;
import com.itlong.cloud.POJO.PO.PadBotRobotTargetInfoPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      派宝机器人数据访问层
 * </desc>
 *
 * @createDate 2021/1/8
 **/
@Mapper
@Repository
public interface IPadBotRobotDao {


    /**
     * <desc>
     *      批量保存派宝机器人地图信息
     * </desc>
     *
     * @param  list 要保存的地图信息列表
     * @return 受影响行数
     * @Author Zhu.yj
     * @createDate  2021/1/8
     */
    Integer batchSavePadBotRobotMapList(List<PadBotRobotMapInfoPO> list);

    /**
     * <desc>
     *      批量保存派宝机器人目标点信息
     * </desc>
     *
     * @param  list 要保存的目标点信息
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/8
     */
    Integer batchSavePadBotRobotTargetList(List<PadBotRobotTargetInfoPO> list);

    /**
     * <desc>
     *      获取机器人下的地图列表
     * </desc>
     *
     * @param serialNumber 机器人序列号
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/8
     */
    List<String> getMapIdBySerialNumber(@Param("serialNumber") String serialNumber);

    /**
     * <desc>
     *      删除地图信息
     * </desc>
     *
     * @param mapIdList 地图id列表
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/8
     */
    Integer deleteMapInfo(List<String> mapIdList);

    /**
     * <desc>
     *      删除目标点信息
     * </desc>
     *
     * @param mapIdList 地图id列表
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/8
     */
    Integer deleteTargetInfo(List<String> mapIdList);

    /**
     * <desc>
     *      保存公共操作
     * </desc>
     *
     * @param params 要保存的参数
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/8
     */
    Integer save(Map<String, Object> params);
}
